]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
shell-app: Use container widget for fallback X11 app icons
authorJonas Dreßler <verdre@v0yd.nl>
Sun, 5 Apr 2020 18:38:21 +0000 (20:38 +0200)
committerverdre <jonas@dressler.it>
Mon, 6 Apr 2020 08:28:26 +0000 (08:28 +0000)
Just like StIcon does, we should use a container widget for the fallback
app icon that we get using the cairo surface property. It's needed
because the widget returned by shell_app_create_icon_texture() can be
resized freely, while we want the aspect ratio of the actual texture to
remain the same.

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2578
src/shell-app.c

index 090c6d3d28dddaa50871884347f027d7400c2cb8..dfa7fe7570c932a79e4861cad14be2d026b6d066 100644 (file)
@@ -218,10 +218,17 @@ window_backed_app_get_icon (ShellApp *app,
 
   if (meta_window_get_client_type (window) == META_WINDOW_CLIENT_TYPE_X11)
     {
-      widget = st_texture_cache_bind_cairo_surface_property (st_texture_cache_get_default (),
-                                                             G_OBJECT (window),
-                                                             "icon",
-                                                             scaled_size);
+      StWidget *texture_actor;
+
+      texture_actor =
+        st_texture_cache_bind_cairo_surface_property (st_texture_cache_get_default (),
+                                                      G_OBJECT (window),
+                                                      "icon",
+                                                      scaled_size);
+
+      widget = g_object_new (ST_TYPE_BIN,
+                             "child", texture_actor,
+                             NULL);
     }
   else
     {